//SendRequestThread
#pragma once

class BIOS;
class ChipBus;
class TimeoutNotifier;
class ExternalBus :  public boost::noncopyable
{
public:
	ExternalBus(TimeoutNotifier& timeoutNotifier, ChipBus& requestQueue, ChipBus& responseQueue, BIOS& requestHandler);
	~ExternalBus();
	
	void Run();
private:
	TimeoutNotifier& m_timeoutNotifier;
	ChipBus& m_requestQueue;
	ChipBus& m_responseQueue;
	BIOS& m_apiConnection;
// 	UINT m_requestTimeout;

	map<string, int> m_subscribeList;
};